import meshio
import numpy as np


def _1_define_boundary(mesh_data=np.array([])):
    pass
    T_b = np.array(mesh_data)
    return T_b


def _1_define_fine_mesh(filename='simplegmsh.vtk'):
    pass
    T_f = meshio.read(filename)
    return T_f


def _2_locate_position(T_b, T_f):
    pass
    coords = []
    return coords


def _3_calculate_area_coord(coords):
    pass
    return coords


def _4_change_cartesian_coord(parameters):
    pass
    mesh_coords = []
    regions = []
    for region in regions:
        pass
    return mesh_coords


def _5_update_mesh(mesh_data, mesh_coords):
    pass

    return mesh_data


def mesh_deformation(mesh_data):
    T_b = _1_define_boundary(mesh_data)
    T_f = _1_define_fine_mesh(mesh_data)
    coords = _2_locate_position(T_b, T_f)
    _3_calculate_area_coord(coords)
    parameters = []
    mesh_coords = _4_change_cartesian_coord(parameters=parameters)
    deformed_mesh = _5_update_mesh(mesh_data, mesh_coords)
